// 混入
export default {
  // 此处编写的就是 Vue组件实例的 配置项 ，通过一点语法可以直接混入到组件内部
// data methods computed 生命周期函数 ...
// 注意点： 1.如果此处 和 组件内， 提供了同名的 data 或 methods ， 则组件内优先级更高
// 2.如果编写了生命周期函数，则 mixins 中的生命周期函数和页面中的生命周期函数，会用数组管理
// 统一执行
  // created () {
  //   console.log('生命周期')
  // },
  data () {
    return {
      title: '标题'
    }
  },
  methods: {
    // 登录确认框
    loginConfirm () {
      // 判断 token 是否存在
      // 1.如果token不存在，弹确认框
      // 2.如果token存在，继续请求操作

      if (!this.$store.getters.token) {
        // 谈确认框
        this.$dialog.confirm({
          title: '温馨提示',
          message: '此时需要先登录才能操作',
          confirmButtonText: '去登陆',
          cancelButtonText: '再逛逛'
        }).then(() => {
          // 如果希望，跳转到登录 => 登录后能回跳回来， 需要在跳转去携带参数(当前的路径地址)
          // this.$route.fullPath(会包含查询参数)
          this.$router.replace({
            path: '/login',
            query: {
              backUrl: this.$route.fullPath
            }
          })
        }).catch(() => {

        })
        // 弹了确认框就返回true
        return true
      }
      // 没弹确认框就返回false
      return false
    },
    sayHi () {
      console.log('我是混入')
    }
  }
}
